package com.ruoyi.dingdanguanli.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 订单管理对象 orders
 * 
 * @author ruoyi
 * @date 2025-09-08
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private String orderId;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private String orderType;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /** 收货姓名 */
    @Excel(name = "收货姓名")
    private String receiverName;

    /** 收货手机 */
    @Excel(name = "收货手机")
    private String receiverPhone;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private BigDecimal goodsPrice;

    /** 商品数量 */
    @Excel(name = "商品数量")
    private Long goodsQuantity;

    /** 付款金额 */
    @Excel(name = "付款金额")
    private BigDecimal paymentAmount;

    /** 运费 */
    @Excel(name = "运费")
    private BigDecimal freight;

    /** 付款方式 */
    @Excel(name = "付款方式")
    private String paymentMethod;

    /** 物流方式 */
    @Excel(name = "物流方式")
    private String logisticsMethod;

    /** 订单状态（待付款、待发货、已发货、已完成、已关闭） */
    @Excel(name = "订单状态", readConverterExp = "待=付款、待发货、已发货、已完成、已关闭")
    private String orderStatus;

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setOrderType(String orderType) 
    {
        this.orderType = orderType;
    }

    public String getOrderType() 
    {
        return orderType;
    }

    public void setOrderTime(Date orderTime) 
    {
        this.orderTime = orderTime;
    }

    public Date getOrderTime() 
    {
        return orderTime;
    }

    public void setReceiverName(String receiverName) 
    {
        this.receiverName = receiverName;
    }

    public String getReceiverName() 
    {
        return receiverName;
    }

    public void setReceiverPhone(String receiverPhone) 
    {
        this.receiverPhone = receiverPhone;
    }

    public String getReceiverPhone() 
    {
        return receiverPhone;
    }

    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) 
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice() 
    {
        return goodsPrice;
    }

    public void setGoodsQuantity(Long goodsQuantity) 
    {
        this.goodsQuantity = goodsQuantity;
    }

    public Long getGoodsQuantity() 
    {
        return goodsQuantity;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) 
    {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getPaymentAmount() 
    {
        return paymentAmount;
    }

    public void setFreight(BigDecimal freight) 
    {
        this.freight = freight;
    }

    public BigDecimal getFreight() 
    {
        return freight;
    }

    public void setPaymentMethod(String paymentMethod) 
    {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethod() 
    {
        return paymentMethod;
    }

    public void setLogisticsMethod(String logisticsMethod) 
    {
        this.logisticsMethod = logisticsMethod;
    }

    public String getLogisticsMethod() 
    {
        return logisticsMethod;
    }

    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderType", getOrderType())
            .append("orderTime", getOrderTime())
            .append("receiverName", getReceiverName())
            .append("receiverPhone", getReceiverPhone())
            .append("goodsName", getGoodsName())
            .append("goodsPrice", getGoodsPrice())
            .append("goodsQuantity", getGoodsQuantity())
            .append("paymentAmount", getPaymentAmount())
            .append("freight", getFreight())
            .append("paymentMethod", getPaymentMethod())
            .append("logisticsMethod", getLogisticsMethod())
            .append("orderStatus", getOrderStatus())
            .append("createTime", getCreateTime())
            .toString();
    }
}
